﻿using System;
using System.Collections.Generic;
using Paulovich.Data;
using System.Collections.ObjectModel;

namespace Inscricoes.Business
{

    [Table("TCUR_Periodos")]
    public class Periodo : Persist
    {

        #region fields & properties

        private int perCodigo;

        [PrimaryKeyField(IsIdentity = true)]
        public int PerCodigo
        {
            get { return perCodigo; }
            set { perCodigo = value; }
        }

        private int curCodigo;

        [Field(typeof(Inscricoes.Business.Inscricao), "CurCodigo")]
        public int CurCodigo
        {
            get { return curCodigo; }
            set { curCodigo = value; }
        }

        private Int16 perOrdem;

        [Field]
        public Int16 PerOrdem
        {
            get { return perOrdem; }
            set { perOrdem = value; }
        }

        private string perNome;

        [Field]
        public string PerNome
        {
            get { return perNome; }
            set { perNome = value; }
        }

        private string perDescricao;

        [Field]
        public string PerDescricao
        {
            get { return perDescricao; }
            set { perDescricao = value; }
        }

        private DateTime perDataInicio;

        [Field]
        public DateTime PerDataInicio
        {
            get { return perDataInicio; }
            set { perDataInicio = value; }
        }

        private DateTime? PerDataFim;

        [Field]
        public DateTime? PerDataFim
        {
            get { return perDataFim; }
            set { perDataFim = value; }
        }

        private bool perInscricaoStatus;

        [Field]
        public bool PerInscricaoStatus
        {
            get { return perInscricaoStatus; }
            set { perInscricaoStatus = value; }
        }

        private bool perStatus;

        [Field]
        public bool PerStatus
        {
            get { return perStatus; }
            set { perStatus = value; }
        }

        #endregion

        #region constructors

        public Periodo()
            : base()
        {
        }

        public Periodo(params object[] keys)
            : base(keys)
        {
        }


        #endregion

        #region related tables

        private Collection<Turma> turmas;

        [ListToSave]
        public Collection<Turma> Turmas
        {
            get { return turmas; }
            set { turmas = value; }
        }

        #endregion

    }

}
